#pragma once

#include "Noncopyable.h"

namespace Steak { 
namespace util {
	class StringBuilder : public Noncopyable {
	public:
		StringBuilder();
	public:
		operator std::string() const;
		std::string toString() const;

	public:
		template<class T>
		StringBuilder& operator << ( const T& val ) {
			mStream << val;
			return *this;
		}

	public:
		std::ostringstream mStream;
	};
} 
}